[C] Decimal -> Binario
Publicado por Enzo de Brito Ferber 05/04/2006
[ Hits: 7.975 ]
Homepage: http://www.maximasonorizacao.com.br
Programa que converte numeros decimais em binario usando operadores bit-bit padrões do C.
Muito bom para se entender operadores bit-bit e conversao de numeros...
/*
* Programa: Binário
* Arquivo: binario.c
* Autor: Enzo Ferber 'Slackware_10'
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define FLUSH __fpurge(stdin); //fflush(stdin) em sistemas windows
int converter(int num){
printf("%d", (num & 0x80) / 0x80); //bit 7
printf("%d", (num & 0x40) / 0x40); //bit 6
printf("%d", (num & 0x20) / 0x20); //bit 5
printf("%d", (num & 0x10) / 0x10); //bit 4
printf("%d", (num & 0x08) / 0x08); //bit 3
printf("%d", (num & 0x04) / 0x04); //bit 2
printf("%d", (num & 0x02) / 0x02); //bit 1
printf("%d", (num & 0x01) / 0x01); //bit 0
/* Quando ha uma coversao decimal->binario, o bit 7 vem em
* primeiro lugar, e o 0 em ultimo.
* Exemplo: Converter 65 (A) em binario
* 65 | 2 (resto 1) bit 0
* 32 | 2 (resto 0) bit 1
* 16 | 2 (resto 0) bit 2
* ...
* Depois se inverte os bits:
* B = bit
* B7 B6 B5 B4 B3 B2 B1 B0
*/
}
int main(void){
int num;
while(1){
system("clear"); //cls em sistemas windows
printf("Numero a converter: ");
FLUSH
scanf("%d", &num);
if(num == -1) break; //garante um loop nao infinito
converter(num);
FLUSH
getchar();
}
return 0;
}
Rotinas para manipulação de matrizes
Agenda eletronica com banco de dados em arquivo texto
Exibe quantos números perfeitos foram digitados
Nenhum comentário foi encontrado.
Como criar um make.conf no Gentoo (para iniciantes)
Como instalar o Open WebUI para Ollama no Gentoo (com systemd)
INSTALAR (e jogar) COUNTER STRIKE 1.6 (install cs 1.6) NO LINUX
A tragédia silenciosa das distribuições baseadas (ou “agregadas”)
Removendo o bloqueio por erros de senha no Gentoo (systemd)
Papel de Parede Animado no KDE Plasma 6 (Com dicas para Gentoo)
Homebrew: o gerenciador de pacotes que faltava para o Linux!
Removendo a trava de versão do Project Brutality para GZDoom/UZDoom
Acelere a compilação no Gentoo com distcc (guia para Systemd)
ATUALIZAÇÃO DO KERNEL LINUX (2)
[Matemática] o que seria algo mais poderoso do que uma função? [RESOLV... (5)









